package com.seed.core.pojo.controller;

import com.alibaba.fastjson.JSONObject;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.util.PmsUtil;
import org.springframework.util.ObjectUtils;

import java.io.File;
import java.util.List;

/**
 * @author gchiaway
 * 日期: 2020-09-29
 * 时间: 16:10
 */
public class SeedBaseController {
    /**
     * 构建返回信息对象
     *
     * @param successLines 成功条数
     * @param errorMessage 失败信息
     * @return 返回信息对象
     */
    protected JSONObject importReturnRes(int successLines, List<String> errorMessage) {
        int errorLines = errorMessage.size();
        int totalCount = successLines + errorLines;
        JSONObject msgResult = new JSONObject(5);
        msgResult.put("totalCount", totalCount);
        msgResult.put("errorCount", errorLines);
        msgResult.put("successCount", successLines);
        msgResult.put("msg", "总上传行数：" + totalCount + "，已导入行数：" + successLines + "，错误行数：" + errorLines);
        String fileUrl = PmsUtil.saveErrorTxtByList(errorMessage, "userImportExcelErrorLog");
        int lastIndex = fileUrl.lastIndexOf(File.separator);
        String fileName = fileUrl.substring(lastIndex + 1);
        msgResult.put("fileUrl", "/sys/common/static/" + fileUrl);
        msgResult.put("fileName", fileName);
        return msgResult;
    }

    /**
     * 构造导入结果信息
     *
     * @param successLines 成功条数
     * @param errorMessage 失败信息
     * @return 导入结果信息
     */
    protected Result<?> importExcelResult(int successLines, List<String> errorMessage) {
        Result<?> result = new Result<>();
        if (ObjectUtils.isEmpty(errorMessage) || errorMessage.isEmpty()) {
            result.success("共" + successLines + "行数据，全部导入成功！");
            return result;
        } else {
            JSONObject msgResult = importReturnRes(successLines, errorMessage);
            Result<JSONObject> res = new Result<>();
            res.setResult(msgResult);
            res.setCode(201);
            res.setMessage("文件导入成功，但有错误。");
            return res;
        }
    }

}
